8eabe84f5baf72da86589b0e62026cee29ad5ef9,servers/src/main/java/tachyon/worker/block/evictor/NaiveEvictor.java,NaiveEvictor,freeSpace,#number#BlockStoreLocation#,42

Before Change


    List<Long> toEvict = new ArrayList<Long>();

    long sizeFreed = 0;
    if (location == BlockStoreLocation.anyTier()) {
      for (StorageTier tier : mMetaManager.getTiers()) {
        for (StorageDir dir : tier.getStorageDirs()) {
          for (BlockMeta block : dir.getBlocks()) {
            toEvict.add(block.getBlockId());
            sizeFreed += block.getBlockSize();
            if (sizeFreed >= bytes) {
              return new EvictionPlan(toMove, toEvict);
            }
          }
        }
      }
      return new EvictionPlan(toMove, toEvict);
    }

    int tierAlias = location.tier();
    StorageTier tier = mMetaManager.getTier(tierAlias);
    if (location == BlockStoreLocation.anyDirInTier(tierAlias)) {
      // Loop over all dirs in the given tier
      for (StorageDir dir : tier.getStorageDirs()) {
        for (BlockMeta block : dir.getBlocks()) {

After Change


  }

  @Override
  public EvictionPlan freeSpace(long bytes, BlockStoreLocation location) {
    List<Pair<Long, BlockStoreLocation>> toMove = new ArrayList<Pair<Long, BlockStoreLocation>>();
    List<Long> toEvict = new ArrayList<Long>();

    long sizeFreed = 0;
    if (location.equals(BlockStoreLocation.anyTier())) {
      for (StorageTier tier : mMetaManager.getTiers()) {
        for (StorageDir dir : tier.getStorageDirs()) {
          for (BlockMeta block : dir.getBlocks()) {
            toEvict.add(block.getBlockId());
            sizeFreed += block.getBlockSize();
            if (sizeFreed >= bytes) {
              return new EvictionPlan(toMove, toEvict);
            }
          }
        }
      }
      return new EvictionPlan(toMove, toEvict);
    }

    int tierAlias = location.tier();
    StorageTier tier = mMetaManager.getTier(tierAlias);
    if (location.equals(BlockStoreLocation.anyDirInTier(tierAlias))) {
      // Loop over all dirs in the given tier
      for (StorageDir dir : tier.getStorageDirs()) {
        for (BlockMeta block : dir.getBlocks()) {